package com.isoft.c2team3service2.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDateTime;

@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("tb_login")
public class User implements Serializable {
    @TableId(type = IdType.AUTO)
    private Integer id;

    private String email; // 登录账号（唯一）

    private String password; // 加密后的密码

    private String salt; // 加密盐值

    // 用户类型：0-普通用户，1-艺人，2-管理员（关键标识）
    @TableField(insertStrategy = FieldStrategy.NOT_NULL)
    private Integer userType = 0;

    // 关联artist表的艺人ID（当userType=1时有效）
    @TableField
    private Integer artistId;

    private LocalDateTime lastLoginTime; // 记录最后登录时间

    // 非数据库字段：登录成功后携带艺人详情
    @TableField(exist = false)
    private Artist artistInfo;
    private String nickName;

    private Integer roleId;

}
